<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/
TR/REC-html40/loose.dtd">
<html>
  <head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
<title>BRL-CAD 6.0 Release Notes</title>
</head>
<body bgcolor="#FFFFFF">
<h1>BRL-CAD 6.0 Release Notes</h1>
<hr>
<br>

<dl>
<dt><b>NEW DATABASE FILE FORMAT</b>
<dd>This is probably the most significant change in this release.
It introduces a large number of new capabilities in BRL-CAD, including:

    <dl>
	<dt><b>Machine-Independent Data</b></dt>
	<dd>The geometry in the new file format is stored in an
	architecture-independent fashion.  This removes the need to convert
	the geometry file to ASCII representation and back to binary when
	moving between machines of different architectures (e.g., between
	Big-Endian and Little-Endian machines).</dd>

	<dt><b>Unlimited-Length Object Names</b></dt>
	<dd>Names of objects in the geometry database were previously limited
	to 16 characters.  This restriction was burdensome when constructing
	complex systems.  The new database format (and MGED/rt) allows for
	unlimited-length names for objects.  The only limits remaining are
	usability/human factors (i.e., the user may wish to think twice before using
	1024-character names for all objects).</dd>

	<dt><b>Object Attributes</b></dt>
	<dd>All geometry file objects can now carry arbitrary text data.
	This information is stored as a series of name-value pairs.  For example, it is
	possible to store an attribute called "modeler", which could indicate
	the name and organization of the person who created that portion of
	the geometry.  Another attribute might be "density", whose value would
	be the density of the material from which the object was constructed.
	Analysis codes can store application-specific data in these attributes
	and retrieve them at run time.  MGED has a GUI control panel for
	creating and editing object attributes.</dd>

	<dt><b>Opaque Binary Objects</b></dt>
	<dd>It is now possible to store arbitrary data in a BRL-CAD geometry
	database object.  For example, the entire description from an
	external CAD system could be stored for reference.  Several features
	of BRL-CAD geometry that require ancillary data can now use these
	database objects as a data source in addition to being able to use
	external disk files.</dd>

	<dt><b>Reduced Disk Space Requirements</b></dt>
	<dd>The new file format is more aggressive about space utilization.
	Many primitives now occupy significantly less disk space.</dd>

	<dt><b>New <b>dbupgrade</b> Utility for Easy Migration</b></dt>
	<dd>The <b>dbupgrade</b> command has been created to bring old
	databases up to the most current version of the file format.</dd>

	<dt><b>Hidden Objects</b></dt>
	<dd>It is now possible to mark objects in the database as "hidden".
	These will not be listed in ordinary displays of database content.
	This allows users to keep objects such as opaque binary objects from
	cluttering listings.</dd>

	<dt><b>Deprecation of Obsolete <i>hf</i> and <i>poly</i> primitives</b></dt>
	<dd>The <i>dsp</i>(Displacement Map) primitive is functionally equivalent to the <i>hf</i>
	and offers substantial performance advantages.  The <i>bot</i> (bag of triangles) primitive
	is likewise a substantial improvement over the
	existing <i>poly</i> primitive.  The <b>dbupgrade</b> utility converts existing
	<i>hf</i> and <i>poly</i> primitives into <i>dsp</i> and <i>bot</i> primitives, respectively.
	Both <i>hf</i> and <i>poly</i> primitives are deprecated.</dd>

	<dt><b>Introduction of 2D <i>sketch</i> primitive</b></dt>
	<dd>The <i>sketch</i> primitive consists of straight lines, circular arcs,
	and Bezier curves.  There is a drawing utility in MGED for creating
	them.</dd>

	<dt><b>Introduction of <i>extrude</i> primitive</b></dt>
	<dd>The <i>extrude</i> primitive supports linear extrusion of
	closed-boundary <i>sketch</i> primitive drawings to create 3D objects.
	</dd>

	<dt><b>New ASCII File Format for New Binary File Format</b></dt>
	<dd>This new ASCII format is based upon the Tcl scripting language.
	It allows more convenient processing and manipulation of the ASCII
	format.</dd>
    </dl>
</dd>
</dl>

<dl>

<dt><b>MGED GEOMETRY EDITOR IMPROVEMENTS</b></dt>
<dd>In addition to supporting both the old and new geometry file formats, there
have been numerous improvements.  These include:
    <dl>
	<dt><b>New User's Manual</b></dt>
	<dd>This is a completely updated tutorial introduction to MGED and modeling
	with BRL-CAD.  Delivered in PDF format and suitable for both online
	browsing and printing.  It includes a complete command reference.  Look
	for it in the MGED menus at:<br>"Help->Manual->PDF MGED Tutorial"   &nbsp;&nbsp; or<br>
	"/usr/brlcad/html/manuals/mged/VolumeII-Introduction_to_MGED.pdf"
	</dd>

	<dt><b>Dual-Format Capability</b></dt>
	<dd>MGED and other BRL-CAD utilities retain the ability to work
	with geometry files constructed
	in previous versions of BRL-CAD as well as the new one.
	Users can upgrade geometry to the new format
	when they choose.  New features implemented in the geometry
	file may not be available under the old format.</dd>

	<dt><b>Accelerators for Complex Shape Construction</b></dt>
	<dd>These allows user to automatically generate more complex
	primitives from existing ones.  For example, <b>rcc-cap</b>
	creates an ellipsoidal top for a right circular cylinder.
	The list of accelerators includes: <b>rcc-blend, rcc-cap, rcc-tgc,
	rpp-arch, rpp-cap, rpp-arch, tor-rcc,</b> and <b>sph-part.</b></dd>

	<dt><b>Improved Menu and Interface Layout</b></dt>
	<dd>Menus have been arranged in a more convenient layout.  Default color selections have been improved.</dd>

	<dt><b><i>Abort</i> on Raytrace Control Panel</b></dt>
	<dd>Users now have the option to abort a running raytrace process
	right from the control panel.</dd>

	<dt><b>Extended Primitive Type-In Support</b></dt>
	<dd>Two primitive types can now be created from the command prompt.
	These include: <ul>
		<li>kinematics control (grip)</li>
		<li>arbitrary regular polyhedron (arbn)</li>
		</ul>
		</dd>

	<dt><b>Extended Primitive Auto Generation</b></dt>
	<dd>Several primitive types can now be auto generated using the
	<b>make</b> command from within MGED.  These include:<ul>
		<li>rectangular parallelepipeds (rpp)</li>
		<li>arbitrary faceted (ars)</li>
		<li>and arbitrary regular polyhedron (arbn)</li></ul>
	Primitives created with this command take their initial parameters
	from the view center and size.</dd>


	<dt><b>New/Improved Commands</b></dt>
	<dd>The following new commands have been implemented:
	<ul>
		<li><b>E:</b> Extended options for creating evaluated wireframes.</li>
		<li><b>adjust:</b> Alter attributes of an object.</li>
		<li><b>attr:</b> Assign or retrieve a named text attribute from an object.</li>
		<li><b>autoview:</b> Set view size and center so that all displayed solids are in view.</li>
		<li><b>bot_decimate:</b> Perform facet reduction on bot by edge collapse.</li>
		<li><b>bot_face_sort:</b> Optimize a bot primitive for faster raytracing.</li>
		<li><b>copyeval:</b> Copy and evaluated/transformed primitive.</li>
		<li><b>hide:</b> Mark database object as hidden.</li>
		<li><b>unhide:</b> Mark database object as visible.</li>
		<li><b>lt:</b> Produce a listing like ls, but display output in a Tcl-friendly format.</li>
		<li><b>nmg_collapse:</b> Perform facet reduction on NMG by edge collapse.</li>
		<li><b>nmg_simplify:</b> Attempt to convert NMG to CSG primitive (ARB, TGC).</li>
		<li><b>pathlist:</b> Lists all existing paths that start from the specified combinations and end at a primitive.</li>
		<li><b>rtedge:</b> Command line interface to the rtedge program for generating line drawings.</li>
		<li><b>shells:</b> Separates an NMG primitive into many objects, 1 object per NMG shell.</li>
		<li><b>showmats:</b> List transformation matrices on a path.</li>
		<li><b>summary:</b> Provide database statistics.</li>
		<li><b>xpush:</b> An extended push that attempts to avoid degenerate conditions in matrix propagation.</li>
	</ul>
	</dd>

	<dt><b>Build Pattern Tool</b></dt>
	<dd>This tool facilitates the construction of replicated objects
	in various rectangular grid and circular patterns.  For example:
	lines of rivet heads, bolt holes, railroad ties, tire tread patterns.
	</dd>

    </dl>
</dl>

<dl>
<dt><b>OTHER ENHANCEMENTS</b></dt>
<dd>
<dl>
<dt><b>Opaque Binary Object Support for <i>dsp</i> Primitive and <i>Texture</i> Shaders</b></dt>
<dd>The <i>dsp</i> primitive can accept an opaque binary object as the source for its elevation data.  Likewise, <i>texture</i> shaders
can now accept opaque binary objects as the source for their image data.
</dd>

<dt><b>Improved <i>bot</i> Primitive Raytracing</b></dt>
<dd>The <i>bot</i> primitive supports a <i>multiple bounding-box</i> technique to achieve a substantial speedup during raytracing.</dd>


<dt><b>Improved <i>dsp</i> Primitive Raytracing</b></dt>
<dd>The <i>bot</i> primitive implements an <i>octtree bounding-box</i> technique to achieve a substantial speedup during raytracing.</dd>

<dt><b>ASCII Representation for <i>ebm</i> and <i>vol</i> Primitives</b></dt>
<dd>These two primitives did not have an ASCII representation in previous releases.  This omission has been corrected.</dd>

<dt><b>Support for MacOS X</b></dt>
<dd>BRL-CAD again supports the MacOS platform.  It requires that the
XDarwin or other X11 server be installed for correct operation.
</dd>

<dt><b>Improved Pro/Engineer<tm> Interface</b></dt>
<dd>The converter for Pro/Engineer has been improved and brought up to date with Pro/Engineer 2001.  Improvements include:
<ul><li>Oriented and non-oriented triangle support.</li>
    <li>Unlimited-name-length support.</li></ul>
</dd>

<dt><b>FASTGEN4 Name Extensions</b></dt>
<dd>The FASTGEN4 converter <b>fast4-g</b> now supports names longer than 16 characters.</dd>

<dt><b>Improved Hidden-Line Drawing Support</b></dt>
<dd>A new program called <b>rtedge</b> is included for rendering hidden-line drawings through a raytracing technique.</dd>


<dt><b>Software Library for Multiply Referenced Objects</b></dt>
<dd>A C implementation of the Tcl/Tk dual-ported object type is included.</dd>

<dt><b>New Shaders</b></dt>
<dd>Two new shaders <i>flat</i> and <i>invisible</i> are included.
The <i>flat</i> shader support per-channel alpha blending.</dd>
</dl>
</dl>


<dl>
<dt><B>NEW UTILITIES</b></dt>
<dd>The following are new to release 6.0:
    <dl>
	<dt><b>pixcmp</b></dt>
	<dd>This program Compares two <b>pix</b> format images.
	Although not technically new
	(it was formerly included in source distributions), <b>pixcmp</b> is now
	installed.</dd>

	<dt><b>rtedge</b></dt>
	<dd>This program raytraces models, detects edges,
	and writes BRL-CAD color image (.pix) files.</dd>


	<dt><b>g_diff</b></dt>
	<dd>This program compares two geometry database files and reports differences
	between the two.
	This allows databases that contain the same objects in different orders to
	be recognized as being the same.</dd>

	<dt><b>dbupgrade</b></dt>
	<dd>This program upgrades an old BRL-CAD database to the current BRL-CAD release
	file format.
	This allows older geometry to take advantage of space savings and new functionality
	only available with the newer database formats
	(e.g., convert a database created with BRL-CAD rel4.5 to one that is fully functional
	in BRL-CAD rel6.0).</dd>
    </dl>
</dd>
</dl>

<dl>
<dt><b>DEVELOPER NOTES</b></dt>
<dd>These items are of interest to developers and others who compile BRL-CAD:
<ul>
  <li>Compile-time optimizations that significantly increase raytrace performance (at cost of run-time debugging).</li>
  <li>Removed dependency on X (and Tk) during source compilation.</li>
  <li>Consolidated <b>cake</b> build options.</li>
  <li>MGED <b>db</b> developer command facilities.</li>
  <li>New and improved regression test suite.</li>
  <li>Improved ANSI source conformance (still in transition).</li>
  <li>New general-purpose Bourne-shell-based utility library (part of regression suite).
    <p>Includes support for file locking, semaphores, stdout/stderr/file logging, mail,
    cvs, packaging, and remote-host querying facilities.
  </li>
</ul>
</dd>

<dt><b>DEPRECATED FEATURES</b></dt>
<dd>
<dl>
	<dt><b>lgt</b></dt>
	<dd>lgt is being replaced by the new <b>rtedge</b> tool.</dd>

	<dt><b>Redirection of I/O in <i>g2asc</i> and <i>asc2g</i></b></dt>
	<dd>To support the new database file format, it was necessary to remove
	the ability to run <b>g2asc</b> and <b>asc2g</b> on streaming data.</dd>
</dl>
</dd>

<dt><b>SPECIAL ACKNOWLEDGMENT</b></dt>

<dd>This release is the last to introduce new features developed by
Mike Muuss.  Mike embodied a unique blend of unparalleled intellect,
unquenchable curiosity, and unending enthusiasm to advance the
capabilities and performance of everything and everyone he touched.
He was the original architect of BRL-CAD and for 20 years guided its
development and emergence as one of the most advanced physically based
computer-aided design packages in the world.  His presence and his
abilities will be missed.

</dd>
</dl>


  <!-- end body -->
  </body>
</html>
